socket编程之获取客户端和服务端ip

您所在的位置:网站首页 php 获取客户端和服务器端ip socket编程之获取客户端和服务端ip

socket编程之获取客户端和服务端ip

2024-06-29 09:00| 来源: 网络整理| 查看: 265

1. getsockname和getpeername函数

getsockname函数用于获取与某个套接字关联的本地协议地址  getpeername函数用于获取与某个套接字关联的外地协议地址

定义如下:

#include int getsockname(int sockfd, struct sockaddr *localaddr, socklen_t *addrlen); int getpeername(int sockfd, struct sockaddr *peeraddr, socklen_t *addrlen);

对于这两个函数,如果函数调用成功,则返回0,如果调用出错,则返回-1。 使用这两个函数,我们可以通过套接字描述符来获取自己的IP地址和连接对端的IP地址,如在未调用bind函数的TCP客户端程序上,可以通过调用getsockname()函数获取由内核赋予该连接的本地IP地址和本地端口号,还可以在TCP的服务器端accept成功后,通过getpeername()函数来获取当前连接的客户端的IP地址和端口号。

2. 示例程序

2.1 服务端示例

#define MAXLINE 4096 #define PORT 6563 #define LISTENQ 1024 #define BUFFER_SIZE 4096 #include #include #include #include #include #include #include #include #include int


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3